資料庫
SQL Server AlwaysOn 是支援高可用性/災害復原情況的首選 SQL 技術,User Workspace Manager10.x 伺服器經過最佳化,能夠支援此項技術。
目前正在轉換為 AlwaysOn 技術的User Workspace Manager10.1 FR1 客戶可以使用 SQL 鏡像。
SQL AlwaysOn
以下提供設定 SQL Server AlwaysOn 可用性群組的指引:
以下提供 SQL Server 高可用性和災害復原的白皮書:
如果已設定有多個子網路容錯移轉可用性群組的 SQL AlwaysOn,則必須在相關監聽程式的資料庫連線字串中設定 MultiSubnetFailover 值。可以使用伺服器組態入口或 Powershell cmdlet 進行。
如需設定資料庫連線字串的詳細資訊,請參閱《伺服器組態入口網站 指令碼撰寫指南》中的設定新伺服器和資料庫。
SQL 鏡像
SQL 資料庫鏡像可維持在鏡像 SQL 執行個體中資料庫的即時副本,是確保資料彈性的策略。進行容錯移轉時,此備用資料庫可用於立即恢復服務。
原始伺服器稱為主體,備用資料庫稱為鏡像。兩者之間的資料會自動同步,因此鏡像在需要時完全是最新狀態。
如果按照 Microsoft 最佳實務進行設定,便支援 SQL 鏡像IvantiUser Workspace Manager。
自動容錯移轉需要見證伺服器。沒有見證伺服器,則需要手動轉換。
SQL 鏡像支援 SQL Server 2012 和 2014,但不支援 SQL Express。
將 SQL 鏡像用於 DesktopNowUser Workspace Manager伺服器
User Workspace Manager 伺服器允許使用者將額外的參數新增到資料庫連線字串。這可用於新增 Failover Partner 參數,以便在鏡像組態中,User Workspace Manager 伺服器會在主體發生故障或切換時自動切換。
自動容錯移轉需要見證伺服器和鏡像組。
使用 User Workspace Manager 設定 SQL 鏡像需要進行下列步驟:
User Workspace Manager 伺服器的初始安裝
User Workspace Manager 伺服器一開始應該設定為指向主體資料庫。安裝資料庫所用的伺服器組態入口 (SCP) 可安裝組態檔案,以包含主體資料庫的詳細資訊。
原始主體做為鏡像時,如果 SCP 在安裝後執行,則無法連接到資料庫,因為 SCP 無法識別容錯移轉組態。
連線錯誤會發生,導致資料庫差異。如果要切換資料庫,則必須手動編輯 web.config 移除容錯移轉夥伴。
若要確定服務可以存取鏡像組的兩個執行個體:
- 服務帳戶必須使用 Windows 驗證
- 必須使用網域使用者。
如需 SCP 的詳細資訊,請參閱伺服器組態入口說明。
準備主體和鏡像資料庫
- 在託管主體資料庫的伺服器上執行 SQL Server Management Studio。
- 以滑鼠右鍵按一下「物件總管」中的管理伺服器資料庫,並選取內容。
- 在「資料庫內容」對話方塊中,選取選項頁面。
- 從「復原模式」下拉式清單中選取完整。
- 按一下確定。
- 復原模式設定為完整後,備份資料庫和交易記錄。
- 透過還原後接交易記錄的完整備份,即可在鏡像伺服器上建立鏡像資料庫。確定為每次還原選取「還原資料庫」對話方塊中的使用非復原還原選項。
如需還原資料庫的詳細資訊,請參閱 SQL Server Management Studio 線上說明或 SQL Server 文件。
資料庫鏡像設定
建議每個 SQL Server 服務在網域帳戶下執行,因為每個資料庫都必須有其他 SQL Server 服務的登入。
- 在託管主體資料庫的伺服器上執行 SQL Server Management Studio。
- 在「物件總管」中,以滑鼠右鍵按一下該資料庫,並選取任務 > 鏡像。
- 按一下設定安全性存取「設定資料庫鏡像安全性精靈」。
精靈會設定主體和鏡像伺服器執行個體。
如需如何設定資料庫鏡像的詳細資訊,請參閱 SQL Server Management Studio 線上說明或 SQL Server 文件。
管理伺服器設定
設定鏡像組後,需要設定管理伺服器在需要時使用容錯移轉夥伴,這可透過下列 PowerShell 命令完成:
Import-ApsInstanceModule -ProductName "Management Server" -IsDefault
$pw ="Password"| ConvertTo-SecureString -AsPlainText -force
$sc = New-Object System.Management.Automation.PSCredential ("Domain\Username",$pw)
Set-ApsServerDatabase -DatabaseConnection NameOfConnection -ServiceCredential $sc -ConnectionString "Failover Partner=NameOfFailOverServer"
如果資料庫存在於預設 SQL 執行個體 (MSSQL Server) 中,請勿在 web.config.file 中指定 "Server\MSSQLServer",因為鏡像不會有任何作用。若要使用預設 SQL 執行個體,務必僅指定伺服器名稱。
例如,如果您的伺服器 "SVR_2k8_01" 存在於預設執行個體中,請指定 "SVR_2k8_01",而不是 "SVR_2k8_01\MSSQLServer"。
容錯移轉夥伴 Powershell 命令成功執行時,進行更新的檔案是 databaseconnections.xml。
執行 PoSh 命令時,會新增容錯移轉連線:
伺服器組態入口將如下所示,這是預期的結果,因為容錯移轉連線沒有組態帳戶詳細資訊:
個人化伺服器設定
設定鏡像不會將伺服器登入傳輸到鏡像,因此必須將服務帳戶登入新增到鏡像。
- 在 SQL Server Management Studio 的「物件總管」中,以滑鼠右鍵按一下安全性 > 登入節點,並選取新登入。
- 輸入服務帳戶登入的詳細資訊,並按一下確定。
只需要新增使用者,因為使用者的 SID 已在資料庫中設定;容錯移轉進行時,使用者將擁有存取權限。
更新 web.config 檔案
- 開啟個人化伺服器上的 web.config 檔案。這通常位於:
C:\Program Files\AppSense\Environment Manager\Personalization Server\PS - 新增容錯移轉夥伴,如下列範例所示。
如果資料庫存在於預設 SQL 執行個體 (MSSQL Server) 中,請勿在 web.config.file 中指定 "Server\MSSQLServer",因為鏡像不會有任何作用。若要使用預設 SQL 執行個體,務必僅指定伺服器名稱。
例如,如果您的伺服器 "SVR_2k8_01" 存在於預設執行個體中,請指定 "SVR_2k8_01",而不是 "SVR_2k8_01\MSSQLServer"。
更新 BackgroundService.exe.config
- 開啟個人化伺服器的 Bin 檔案夾中的 BackgroundService.exe.config 檔案。這通常位於:
C:\Program Files\AppSense\Environment Manager\Personalization Server\BackgroundService - 更新該檔案,如下列範例所示: